A. Field of the Invention
The present invention relates generally to controlling a cursor, and in particular to an apparatus and method for selectively controlling a software cursor in connection with writing a graphics element.
B. Description of the Related Art
Conventional graphics systems use a graphics engine that receives commands from an application program and executes instructions based on the commands. Executing the instructions causes the graphics engine to write graphics elements to a graphics buffer. The information is then read from the buffer and displayed to a user on a screen.
A user interacts with a conventional system with a variety of user input devices, some of which manipulate a cursor on the screen. For example, users often manipulate the cursor using a mouse or keyboard. Thus, the graphics engine writes both graphics information and cursor information to the graphics buffer.
In conventional systems, the graphics engine excludes a software cursor (i.e., turns the cursor off) to draw a graphics element that overlaps the cursor area. After the graphics element is drawn, the graphics engine redraws the cursor (i.e., turns the cursor back on). Thus, in the course of creating a typical drawing having many graphics elements, the graphics engine turns the software cursor off and on many times. This slows down graphics performance and causes the cursor to blink at an undesirably high frequency. Since overlapping is fundamental in any graphics application, however, there is a need to develop an effective technique that reduces the number of times the software cursor is turned off and on.